<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../react18/react.development.js"></script>
    <script src="../react18/react-dom.development.js"></script>
    <script src="../react18/babel.min.js"></script>
    <script src="../react18/prop-types.js"></script>
  
</head>
<body>
    <div id="app"></div>
    <script type="text/babel">
            /* 
      回调形式的refs
         ref 属性，属性值是一个回调函数 这个函数在渲染的时候就会执行
         react会向回调函数中传递一个实参，实参是当前ref所在的DOM节点,
        回调函数接受一个形参，形参就是react传递的当前的DOM元素
    */

    class Parent extends React.Component{
        render(){
            return (
                <div>
                <input type="text" ref={c=>this.iptEle=c}/>    
                <button onClick={this.handle}>点击弹出用户输入信息</button>
                </div>
            )
        }
        handle=()=>{
            const{value}=this.iptEle;
            alert(value)
        }
    }

    const root=ReactDOM.createRoot(document.getElementById("app"))
    root.render(<Parent/>)
    </script>
</body>
</html>